#ifndef __OEASE_H__
#define __OEASE_H__

typedef float (*oEaseFunc)(float, float, float);

class oDLL oEase
{
public:
	static oEaseFunc None;
	static float InQuad(float t, float b, float c);
	static float OutQuad(float t, float b, float c);
	static float InOutQuad(float t, float b, float c);
	static float InCubic(float t, float b, float c);
	static float OutCubic(float t, float b, float c);
	static float InOutCubic(float t, float b, float c);
	static float InQuart(float t, float b, float c);
	static float OutQuart(float t, float b, float c);
	static float InOutQuart(float t, float b, float c);
	static float InQuint(float t, float b, float c);
	static float OutQuint(float t, float b, float c);
	static float InOutQuint(float t, float b, float c);
	static float InSine(float t, float b, float c);
	static float OutSine(float t, float b, float c);
	static float InOutSine(float t, float b, float c);
	static float InExpo(float t, float b, float c);
	static float OutExpo(float t, float b, float c);
	static float InOutExpo(float t, float b, float c);
	static float InCirc(float t, float b, float c);
	static float OutCirc(float t, float b, float c);
	static float InOutCirc(float t, float b, float c);
	static float InElastic(float t, float b, float c);
	static float OutElastic(float t, float b, float c);
	static float InOutElastic(float t, float b, float c);
	static float InBack(float t, float b, float c);
	static float OutBack(float t, float b, float c);
	static float InOutBack(float t, float b, float c);
	static float InBounce(float t, float b, float c);
	static float OutBounce(float t, float b, float c);
	static float InOutBounce(float t, float b, float c);
	static oEaseFunc get(int index);
};

#endif